// 渲染分类下拉框和标签复选框
async function renderSelector() {
  const { data: { data } } = await axios.get('/index/index')
  const cateStr = data.allCate.map(ele => {
    return `<option value="${ele.id}">${ele.catename}</option>`
  }).join('')
  $('select').append(cateStr)

  const tagStr = data.allTag.map(ele => {
    return `<label><input type="checkbox"value="${ele.tagname}"/>${ele.tagname}</label>`
  }).join('')
  $('#tag').html(tagStr)

}
renderSelector()

// =============================添加富文本编辑器=========================
const E = window.wangEditor
const editor = new E('#contentBox')
// 设置编辑区域高度
editor.config.height = 200
editor.config.zIndex = 1
editor.create()


// 选择图片
$('.btn-sm').on('click', function () {
  $('[type="file"]').click()
})
// 预览图片
let imgFile
$('[type="file"]').on('change', function () {
  // 使用DOM对象文件域的files属性获取到图片文件对象数组，再用下标获取其中元素
  imgFile = this.files[0]
  if (!imgFile) return
  if (imgFile.size > 3000000) {
    return layer.msg('图片体积不能超过3M', {
      icon: 5,
      offset: '20px'
    })
  }
  // 将图片文件对象转成url链接
  const imgSrc = URL.createObjectURL(imgFile)
  $('.form-input img').attr('src', imgSrc)
})

// 确定文章状态是发布还是草稿
let state
$('.btn-box .btn-success').on('click', function () {
  state = 2
  addArt()

})

$('.btn-box .btn-primary').on('click', function () {
  state = 1
  addArt()
})

const addArt = async function () {
  // 标签多选框处理
  const arr = []
  $('[type="checkbox"]:checked').each(function (i) {
    arr[i] = $(this).val();
  })
  const tags = arr.join(',');

  // 表单验证
  if (!$('.text').val().trim()) {
    return layer.msg('标题不能为空！', { offset: '20px' })
  }
  else if (!$('select').val()) {
    return layer.msg('请选择分类！', { offset: '20px' })
  }
  else if (!tags) {
    return layer.msg('请选择标签！', { offset: '20px' })
  }
  else if (!editor.txt.html()) {
    return layer.msg('正文内容不能为空！', { offset: '20px' })
  }


  // 默认上传的文件路径
  let imgPath = ''
  // 如果修改了图片，才需要处理图片
  if (imgFile) {
    const formData = new FormData();
    formData.append('file', imgFile);
    const { data: { data: { savePath, size } } } = await axios.post('http://124.223.14.236:8060/common/upload?type=images', formData, {
      headers: {
        'Content-Type': 'multipart/form-data',
      }
    })
    imgPath = savePath
  }
  // 发送所有信息请求修改
  const data = await axios.post('/user/addArticle', {
    author: JSON.parse(localStorage.getItem('user_info')).username,
    pic: imgPath || '',
    cateid: +$('select').val(),
    content: editor.txt.html(),
    title: $('.text').val() || '',
    status: state,
    tags: tags || ''
  })

  if (data.data.errno !== 0) {
    return layer.msg('操作失败，请稍后再试', {
      icon: 5,
      offset: '20px'
    })
  }
  layer.msg('操作成功！', {
    icon: 1,
    offset: '20px',
    time: 1000 //2秒关闭（如果不配置，默认是3秒）
  }, function () {
    //跳转到我的文章
    location.href = './user-list.html'
  })
}
// 取消按钮
$('.btn-warning').on('click', function () {
  //跳转用户中心首页
  location.href = './user.html'
})